package com.rla.service;

import com.rla.domain.EhsEverydayBloodGlucose;
import com.rla.domain.vo.EhsEverydayBloodGlucoseVo;
import com.rla.domain.bo.EhsEverydayBloodGlucoseBo;
import com.rla.common.core.page.TableDataInfo;
import com.rla.common.core.domain.PageQuery;
import org.apache.ibatis.annotations.Param;

import java.util.Collection;
import java.util.List;
import java.util.Map;

/**
 * 日常记录-血糖记录Service接口
 *
 * @author rla
 * @date 2025-07-30
 */
public interface IEhsEverydayBloodGlucoseService {

    /**
     * 查询日常记录-血糖记录
     */
    EhsEverydayBloodGlucoseVo queryById(String id);

    /**
     * 查询日常记录-血糖记录列表
     */
    TableDataInfo<EhsEverydayBloodGlucoseVo> queryPageList(EhsEverydayBloodGlucoseBo bo, PageQuery pageQuery);


    List<Map<String,Object>>  appListByTime(EhsEverydayBloodGlucoseBo bo, PageQuery pageQuery);

    /**
     * 查询日常记录-血糖记录列表
     */
    List<EhsEverydayBloodGlucoseVo> queryList(EhsEverydayBloodGlucoseBo bo);

    /**
     * 新增日常记录-血糖记录
     */
    String insertByBo(EhsEverydayBloodGlucoseBo bo);

    /**
     * 修改日常记录-血糖记录
     */
    Boolean updateByBo(EhsEverydayBloodGlucoseBo bo);

    /**
     * 校验并批量删除日常记录-血糖记录信息
     */
    Boolean deleteWithValidByIds(Collection<String> ids, Boolean isValid);


    List<Map<String,Object>> queryTrendList(EhsEverydayBloodGlucoseBo bo);

    Map<String,Object> statisticsExce(EhsEverydayBloodGlucoseBo bo);

    //查询健康指标类型
    public List<Map<String, Object>> queryTypeList(String targetId);

    //计算当前测量数据，与上一次和10天前的数据对比
    public Map<String, Object> queryDateCompare(String id);

    public Map<String, Object> getHealthDataNext();


    Map<String,Object> healthReport(EhsEverydayBloodGlucoseBo bo);
    Boolean pushBloodGlucoseDataFromDP(EhsEverydayBloodGlucoseBo bo);

    Boolean bindSn(EhsEverydayBloodGlucoseBo bo);
}
